home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 January / Disc 3 / Amethyst.iso / live / usr / lib / rpm-3.0.6 / macros.OL < prev    next >
Encoding:
Text File  |  2001-01-24  |  5.2 KB  |  179 lines

  1. #############################################################
  2. # $Id: macros.OL,v 1.11 2001/01/24 15:57:46 ray Exp $
  3.  
  4. #############################################################
  5. # Default macros for Caldera OpenLinux packages...
  6. # (still require a modified rpm-binary?!)
  7.  
  8. # simple ones
  9. %fixSymlinks         /usr/lib/rpm-3.0.6/fixsymlinks.pl
  10. %fixUP            /usr/lib/rpm-3.0.6/fixup.pl
  11. %mkCopyright          /usr/lib/rpm-3.0.6/mkcopyright.pl
  12. %mkLists        /usr/lib/rpm-3.0.6/mklists.pl
  13. %ckLibC5        /usr/lib/rpm-3.0.6/cklibc5.pl
  14.  
  15. # a little more complex ...
  16. ## macros intended for (exclusive) use by other macros...
  17. %_DESTDIR     \
  18.   DESTDIR=$RPM_BUILD_ROOT;export DESTDIR
  19.  
  20. %_BaseEnv     \
  21.   %{_DESTDIR}; GZIP="-v9nf";export GZIP
  22.  
  23. %_MANPATHS    \
  24.   MANPATHS=`find $DESTDIR -type d -name "man[1-9n]" -print`
  25.  
  26. %_CheckAndRemove    \
  27.   { perl -e '$_=$ENV{DESTDIR}."/"; exit (!m:/tmp/\\w\\S+/: || m:/\\.\\./:)' &&\
  28.   rm -rf $DESTDIR; } || { echo "Invalid BuildRoot: '$DESTDIR'!" 1>&2; false; }
  29.  
  30. %_UID        \
  31.   { [ -n "$UID" ] || { UID=`id -u`; export UID; }; }
  32.  
  33. ## and now for the goodies!  :*)
  34. ### predicates (preferably without comments...)
  35. %NoBuildCheck    \
  36.   { [ "$COL_BUILDCHECK" != "true" ]&& echo "*** %%BuildCheck disabled" 1>&2; }
  37.  
  38. %IsNotRoot    {{ %{_UID}; [ "$UID" -gt 0 ]; }}
  39.  
  40. %IsRoot        {{ %{_UID}; [ "$UID" -eq 0 ]; }}
  41.  
  42. %IsLSB        [ "%{LSB}" = "true" ]
  43.  
  44. %IsNotLSB    ! %{IsLSB}
  45.  
  46. ### LSB-enforcement
  47. %_LSBdoc    \
  48.   [ ! -d $DESTDIR/usr/doc ] || { \
  49.     echo "*** /usr/doc violates LSB." 1>&2; exit 1; \
  50.   }
  51. %_LSBinfo    \
  52.   [ ! -d $DESTDIR/usr/info ] || { \
  53.     echo "*** /usr/info violates LSB." 1>&2; exit 1; \
  54.   }
  55. %_LSBman    \
  56.   [ ! -d $DESTDIR/usr/man ] || { \
  57.     echo "*** /usr/man violates LSB." 1>&2; exit 1; \
  58.   }
  59. %_LSBroundup    \
  60.   set +x; LSBcount=0 \
  61.   for d in /usr/{doc,info,man} /var/state; do \
  62.     [ ! -d $DESTDIR/$d ] || { \
  63.       LSBcount=$[$LSBcount + 1]; echo "*** use of '$d' violates LSB." 1>&2; \
  64.     } \
  65.   done \
  66.   [ $LSBcount = 0 ] || exit $LSBcount; set -x
  67.  
  68. ### installation set- and cleanup
  69. %DESTDIR        # %%{DESTDIR}\
  70.   %{_BaseEnv}
  71.  
  72. %mkDESTDIR    # %%{mkDESTDIR}\
  73.   %{_BaseEnv}\
  74.   #%%{ckLibC5} . || true\
  75.   %{_CheckAndRemove}\
  76.   mkdir -p $DESTDIR
  77.  
  78. %rmDESTDIR    # %%{rmDESTDIR}\
  79.   %{_BaseEnv};%{IsNotLSB}||{ %{_LSBroundup}; } \
  80.   %{IsNotRoot}||%{_CheckAndRemove}
  81.  
  82. ### man- and info-pages
  83. %MANPATHS    # %%{MANPATHS}\
  84.   %{_MANPATHS}
  85.  
  86. %fixManPagesLSB    # %%{fixManPagesLSB}\
  87.   if [ "%{_mandir}" != "/usr/man" -a -d $DESTDIR/usr/man ]; then \
  88.     mkdir -p $DESTDIR%{_mandir}%{manEN} \
  89.     [ "$(echo $DESTDIR/usr/man/man?)" = "$DESTDIR/usr/man/man?" ] || \
  90.       mv $DESTDIR/usr/man/man? $DESTDIR%{_mandir}%{manEN} \
  91.     [ "$(echo $DESTDIR/usr/man/*)" = "$DESTDIR/usr/man/*" ] || \
  92.       mv $DESTDIR/usr/man/* $DESTDIR%{_mandir} \
  93.     rmdir $DESTDIR/usr/man \
  94.   fi
  95.  
  96. %fixManPages    # %%{fixManPages}\
  97.   %{IsNotLSB} || %{fixManPagesLSB} \
  98.   [ -n "$MANPATHS" ] || %{_MANPATHS}\
  99.   if [ -n "$MANPATHS" ]; then \
  100.     chown -Rvc root.root $MANPATHS \
  101.     %{fixSymlinks} --man-gz $DESTDIR $MANPATHS \
  102.     find $MANPATHS -type f -not -name '*.gz' -print0 | \
  103.       xargs -0r gzip \
  104.   fi 
  105.  
  106. %fixInfoPagesLSB    # %%{fixInfoPagesLSB}\
  107.   if [ "%{_infodir}" != "/usr/info" -a -d $DESTDIR/usr/info ]; then \
  108.     mkdir -p $DESTDIR%{_infodir} \
  109.     [ "$(echo $DESTDIR/usr/info/*)" = "$DESTDIR/usr/info/*" ] || \
  110.       mv $DESTDIR/usr/info/* $DESTDIR%{_infodir} \
  111.     rmdir $DESTDIR/usr/info \
  112.   fi
  113.  
  114. %fixInfoPages    # %%{fixInfoPages}\
  115.   %{IsNotLSB} || %{fixInfoPagesLSB} \
  116.   if [ -d "$DESTDIR%{_infodir}" ]; then \
  117.     find $DESTDIR%{_infodir} -type f -not -name '*.gz' -print0 | \
  118.       xargs -0r gzip \
  119.   fi \
  120.   [ ! -e $DESTDIR%{_infodir}/dir.gz ] || rm -f $DESTDIR%{_infodir}/dir.gz 
  121.  
  122.  
  123. ##  configuration "constants"
  124. ## LSB general
  125. # as long as the SysVinit registration script isn't spec'ed
  126. %LSBinit        /usr/lib/LSB/init
  127. # a placeholder for network-shared, exported data
  128. %LSBservedir        /srv
  129.  
  130. ## introduced for LSB cron: hide directories for application installed snippets
  131. %Cprefix           /etc/cron.d
  132. ### prefix for sym-links from %C<period>dir/ to %Cprefix/%Scriptsdir/
  133. %Crelprefix        ..
  134. %Ctabsdir          tabs.d
  135. %Cscriptsdir       lib
  136. ### pattern reflecting the naming-convention for consistency-checks...
  137. %Cpattern          %{Cprefix}/[A-Z]*/[0-9][0-9]
  138. ### proposed directories/intervals
  139. %Cyearlydir        %{Cprefix}/Yearly
  140. %Cmonthlydir       %{Cprefix}/Monthly
  141. %Cweeklydir        %{Cprefix}/Weekly
  142. %Cdailydir         %{Cprefix}/Daily
  143. ### inofficial, but possible extensions
  144. %Cquarterlydir     %{Cprefix}/Quarterly
  145. %Cbimonthlydir     %{Cprefix}/Bimonthly
  146. %Cbiweeklydir      %{Cprefix}/Biweekly
  147. ### DEPRECATED!
  148. %Chourlydir        %{Cprefix}/Hourly
  149.  
  150. ## introduced for FHS-2.1 4.7.2:  hide default locale for man-pages
  151. %manEN        %{nil}
  152.  
  153. ## introduced for LSB init: abstract from real locations
  154. %SVIcdir    /etc/sysconfig/daemons
  155. %SVIdir        /etc/rc.d/init.d
  156. %SVIrcp        /etc/rc.d
  157. %SVIrcd        /etc/rc.d
  158. ### prefix for sym-links from %SVIrcp/rc?.d/ to %SVIdir/
  159. %SVIrel        ../init.d
  160.  
  161. ## introduced to abstract from real location
  162. %LRdir        /etc/logrotate.d
  163.  
  164. ## introduced for LSB inet: hide directories for application installed snippets
  165. %NKinetdir    /etc/inet.d
  166. %NKinetdReload    [ ! -x %{SVIdir}/inet ] || %{SVIdir}/inet reload || true
  167.  
  168. ## introduced for JAVA
  169. %JAVAlibdir    /usr/share/java
  170. %JAVAjnidir    /usr/lib/java
  171.  
  172. ## 
  173.  
  174. #  out-dated macros for compatibility
  175. %buildarch_lc    %{_arch}
  176. %buildarch    %{_arch}
  177. %buildos_lc    %{_os}
  178. %buildos    %{_os}
  179.